package com.penghaisoft.microwms.base.web.resource.dao;

import com.penghaisoft.microwms.common.base.model.BaseResource;
import com.penghaisoft.microwms.common.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>Mapper</p>
 *  
 *  @author 
 *  @createDate 
 **/
public interface BaseResourceMapper extends BaseMapper<BaseResource> {

	List<BaseResource> findMenuByLoginName(String user);

	List<String> findPermissionsByLoginName(String user);

	List<BaseResource> findAllPermissions();

	List<BaseResource> findAllResource();

	BaseResource queryOneWithParent(String id);

	/** 
	* @Title: findHandPermissionsByLoginName 
	* @Description: 查找手持权限
	* @author zhangxu 
	* @2017年6月6日:2017年6月6日:上午9:14:06
	* @param @param loginName
	* @param @return    
	* @return List<BaseResource>
	* @version V0.1    
	* @throws 
	*/
	List<BaseResource> findHandPermissionsByUser(String userId);

	List<BaseResource> findBtnByLoginName(String loginName);
	
	List<BaseResource> findMenuByLoginNameAndFactory(@Param("loginName") String loginName, @Param("factoryCode") String factoryCode);

	/**
	 * 根据角色查询拥有的资源
	 * @param roleIds
	 * @return
	 */
	List<BaseResource> queryResUnderRoles(@Param("roleIds") List<String> roleIds);
}